package com.qihetimes.earthangel.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qihetimes.earthangel.model.User;
import com.qihetimes.earthangel.model.bo.UserBO;
import com.qihetimes.earthangel.model.bo.UserSearchBO;
import com.qihetimes.earthangel.model.bo.UserWxBO;
import com.qihetimes.earthangel.model.vo.PageVO;
import com.qihetimes.earthangel.model.vo.UserCenterVO;
import com.qihetimes.earthangel.model.vo.UserVO;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author f4cklangzi@gmail.com
 * @since 2021-12-04
 */
public interface IUserService extends IService<User> {
    
    String wxLogin(UserWxBO param);
    
    String jsCodeLogin(UserWxBO param);
    
    void bindOpenId(UserWxBO param);
    
    String codeLogin(String phone, Integer code);
    
    User getLoginUser();
    
    UserCenterVO userCenter();
    
    User update(UserBO param);
    
    void delete();
    
    PageVO<UserVO> search(UserSearchBO param);
    
    void logout();
    
    String ipToCity(String ip);
}
